package com.ltkj.ticket.mapper;

import java.util.Date;
import java.util.List;
import com.ltkj.ticket.domain.TicActivityType;
import com.ltkj.ticket.domain.dto.TicActivityTypeAddDTO;
import com.ltkj.ticket.domain.vo.TicActivityTypeDetailVo;
import org.apache.ibatis.annotations.Param;

/**
 * 活动门票票种配置Mapper接口
 * 
 * @author ruoyi
 * @date 2023-08-31
 */
public interface TicActivityTypeMapper 
{
    /**
     * 查询活动门票票种配置
     * 
     * @param ticActivityTypeId 活动门票票种配置主键
     * @return 活动门票票种配置
     */
    public TicActivityType selectTicActivityTypeByTicActivityTypeId(Long ticActivityTypeId);

    /**
     * 查询活动门票票种配置列表
     * 
     * @param ticActivityType 活动门票票种配置
     * @return 活动门票票种配置集合
     */
    public List<TicActivityType> selectTicActivityTypeList(TicActivityType ticActivityType);

    /**
     * 新增活动门票票种配置
     * 
     * @param ticActivityType 活动门票票种配置
     * @return 结果
     */
    public int insertTicActivityType(TicActivityType ticActivityType);

    /**
     * 修改活动门票票种配置
     * 
     * @param ticActivityType 活动门票票种配置
     * @return 结果
     */
    public int updateTicActivityType(TicActivityType ticActivityType);

    /**
     * 删除活动门票票种配置
     * 
     * @param ticActivityTypeId 活动门票票种配置主键
     * @return 结果
     */
    public int deleteTicActivityTypeByTicActivityTypeId(Long ticActivityTypeId);

    /**
     * 批量删除活动门票票种配置
     * 
     * @param ticActivityTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTicActivityTypeByTicActivityTypeIds(Long[] ticActivityTypeIds);

    void insertBatch(@Param("activityId") Long activityId,@Param("list") List<TicActivityTypeAddDTO> ticActivityTypeAddDTOList,@Param("day")  String day,@Param("username")  String username);

    List<TicActivityTypeDetailVo> selectTicActivityTypeListBy(@Param("activityId") Long activityId,@Param("stockDate")Date stockDate);

    void deleteTicActivityTypeByDate(@Param("activityId")Long activityId,@Param("activityStockDate") Date activityStockDate);
}
